using Clancy.Data;
using Clancy.Interfaces;
using System.Collections.ObjectModel;
using System.Threading.Tasks;

namespace Clancy.Bl.Mocks
{
    public class SurveilanceLogicMock : ISurveilanceLogic
    {
        public ObservableCollection<ISurveilanceObject> SurveilanceObjects { get; set; }

        public ISurveilanceObject AddNewSource(ISurveilanceObject surveilanceObject)
        {
            SurveilanceObjects.Add(surveilanceObject);
            return new SurveilanceObject();
        }

        public ISurveilanceObject AddNewSource(IVideoSourceFilterInfo videoSourceFilterInfo)
        {
            return AddNewSource(new SurveilanceObject());
        }

        public Task DeleteSurveilance(ISurveilanceObject surveilanceObject)
        {
            return Task.FromResult(true);
        }

        public void Dispose()
        {
        }

        public ISurveilanceStatus GetSurveilance(ISurveilanceObject surveilanceObject)
        {
            return new Surveilance.Surveilance(new SurveilanceObject(), null);
        }

        public void LoadConfiguration(string filename)
        {
        }

        public void SaveConfiguration(string filename)
        {
        }

        public void Start()
        {
        }

        public void Stop()
        {
        }
    }
}